﻿#pragma warning(disable: 4996)
#pragma warning(disable: 6031)

/*
7-46 爬动的蠕虫 (15 分)
一条蠕虫长1寸，在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸，但必须休息1分钟才能接着往上爬。在休息的过程中，蠕虫又下滑了D寸。就这样，上爬和下滑重复进行。请问，蠕虫需要多长时间才能爬出井？

这里要求不足1分钟按1分钟计，并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部，那么蠕虫就完成任务了。初始时，蠕虫是趴在井底的（即高度为0）。

输入格式：
输入在一行中顺序给出3个正整数N、U、D，其中D<U，N不超过100。

输出格式：
在一行中输出蠕虫爬出井的时间，以分钟为单位。

输入样例：
12 3 1
输出样例：
11
*/

#include <stdio.h>
#include <math.h>

int N;


void solve()
{
	int n = 32;
	if (N < 0) {
		printf("0\n");
		return;
	}
	while (N)
	{
		N /= 2;
		n--;
	}
	printf("%d\n", n);
}

void read_data() {
	scanf("%d", &N);
}

int main()
{
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-47.txt", "r", stdin);
	read_data();
	solve();
	return 0;
}

